"""
.. module:: Product
   :platform: Unix, Windows
   :synopsis: This is the base class for the product heirarchy

.. moduleauthor:: Nick Leaton <nickle@gmail.com>

"""

from Entities.Entity import Entity

class Product (Entity):
    '''
    Abstract Base class for Products

    Products are one of the key base classes. They represent things that can be exchanged.

    For example, cash in the form of currencies, stocks, as well as dividends, rights issues, ...     
    '''
    
    def __init__ (self, name):
        '''
        :Parameters:
            name : str
                Name of the product
        '''
        Entity.__init__ (self)
        self.name = name
        
    def __repr__ (self):
        '''
        representation of a product
        '''
        return "Product('%s')" % self.name
        
        
